package com.ktgj.flight.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 财务自动对账文件记录对象 finance_autobill_record
 * 
 * @author ruoyi
 * @date 2022-06-15
 */
public class FinanceAutobillRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long billRecordId;

    /** 旧名称（业务人员上传账单时excel的命名） */
    @Excel(name = "旧名称", readConverterExp = "业=务人员上传账单时excel的命名")
    private String oldName;

    /** 1（A单）;  2（B单）;  3（A+B合一） 4：（A+B+C） */
    @Excel(name = "1", readConverterExp = "A=单")
    private String billType;

    /** 账单归属（南航，航协等） */
    @Excel(name = "账单归属", readConverterExp = "南=航，航协等")
    private String billBelong;

    /** Excel账单条数 */
    @Excel(name = "Excel账单条数")
    private Long billCount;

    /** 账单状态（1初始化，2已生成账单，3失效账单） */
    @Excel(name = "账单状态", readConverterExp = "1=初始化，2已生成账单，3失效账单")
    private String billState;

    /** 维护人 */
    @Excel(name = "维护人")
    private Long employeeId;

    /** 新名称（系统生成的账单名称） */
    @Excel(name = "新名称", readConverterExp = "系=统生成的账单名称")
    private String newName;

    /** 最后一次操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationTime;

    /** 关联规则表的主键 */
    @Excel(name = "关联规则表的主键")
    private Long billRuleId;

    /** 真实入账单表的条数 */
    @Excel(name = "真实入账单表的条数")
    private Long billCountInput;

    /** 对账开始时间范围 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "对账开始时间范围", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billStartDate;

    /** 对账结束时间范围 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "对账结束时间范围", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billEndDate;

    /** 1:航司Excel 2:出票平台Excel 3.支付平台Excel(支付平台不需要生成账单，只和航司账单对比出渠道) */
    @Excel(name = "1:航司Excel 2:出票平台Excel 3.支付平台Excel(支付平台不需要生成账单，只和航司账单对比出渠道)")
    private String exceltype;

    /** 0:其他 1：信用 2：现金 （与账单表里面的对应） */
    @Excel(name = "0:其他 1：信用 2：现金 ", readConverterExp = "与=账单表里面的对应")
    private String bilsPayType;

    /** 账期唯一识别号，开始时间+结束时间字符串 */
    @Excel(name = "账期唯一识别号，开始时间+结束时间字符串")
    private String billTimeNumber;

    public void setBillRecordId(Long billRecordId) 
    {
        this.billRecordId = billRecordId;
    }

    public Long getBillRecordId() 
    {
        return billRecordId;
    }
    public void setOldName(String oldName) 
    {
        this.oldName = oldName;
    }

    public String getOldName() 
    {
        return oldName;
    }
    public void setBillType(String billType) 
    {
        this.billType = billType;
    }

    public String getBillType() 
    {
        return billType;
    }
    public void setBillBelong(String billBelong) 
    {
        this.billBelong = billBelong;
    }

    public String getBillBelong() 
    {
        return billBelong;
    }
    public void setBillCount(Long billCount) 
    {
        this.billCount = billCount;
    }

    public Long getBillCount() 
    {
        return billCount;
    }
    public void setBillState(String billState) 
    {
        this.billState = billState;
    }

    public String getBillState() 
    {
        return billState;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setNewName(String newName) 
    {
        this.newName = newName;
    }

    public String getNewName() 
    {
        return newName;
    }
    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }
    public void setBillRuleId(Long billRuleId) 
    {
        this.billRuleId = billRuleId;
    }

    public Long getBillRuleId() 
    {
        return billRuleId;
    }
    public void setBillCountInput(Long billCountInput) 
    {
        this.billCountInput = billCountInput;
    }

    public Long getBillCountInput() 
    {
        return billCountInput;
    }
    public void setBillStartDate(Date billStartDate) 
    {
        this.billStartDate = billStartDate;
    }

    public Date getBillStartDate() 
    {
        return billStartDate;
    }
    public void setBillEndDate(Date billEndDate) 
    {
        this.billEndDate = billEndDate;
    }

    public Date getBillEndDate() 
    {
        return billEndDate;
    }
    public void setExceltype(String exceltype) 
    {
        this.exceltype = exceltype;
    }

    public String getExceltype() 
    {
        return exceltype;
    }
    public void setBilsPayType(String bilsPayType) 
    {
        this.bilsPayType = bilsPayType;
    }

    public String getBilsPayType() 
    {
        return bilsPayType;
    }
    public void setBillTimeNumber(String billTimeNumber) 
    {
        this.billTimeNumber = billTimeNumber;
    }

    public String getBillTimeNumber() 
    {
        return billTimeNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("billRecordId", getBillRecordId())
            .append("oldName", getOldName())
            .append("billType", getBillType())
            .append("billBelong", getBillBelong())
            .append("createTime", getCreateTime())
            .append("billCount", getBillCount())
            .append("billState", getBillState())
            .append("employeeId", getEmployeeId())
            .append("newName", getNewName())
            .append("operationTime", getOperationTime())
            .append("billRuleId", getBillRuleId())
            .append("billCountInput", getBillCountInput())
            .append("billStartDate", getBillStartDate())
            .append("billEndDate", getBillEndDate())
            .append("exceltype", getExceltype())
            .append("bilsPayType", getBilsPayType())
            .append("billTimeNumber", getBillTimeNumber())
            .toString();
    }
}
